The background description provided herein is for the purpose of generally presenting the context of the disclosure. Work of the presently named inventors, to the extent it is described in this background section, as well as aspects of the description that may not otherwise qualify as prior art at the time of filing, are neither expressly nor impliedly admitted as prior art against the present disclosure.
The Basic Input/Output System (BIOS) is one of the most crucial components on a computer motherboard. The BIOS firmware is preloaded into a memory (the BIOS memory) of the BIOS, and typically is the first code run by a computer when powered on. When the computer starts up, the first job for the BIOS is the power-on self-test, which initializes and identifies the system devices such as the CPU, RAM, video display card, keyboard and mouse, hard disk drive, optical disc drive and other hardware. The BIOS then locates a boot loader software held on a peripheral device (designated as a “boot device”), such as a hard disk or a CD/DVD, and loads and executes that software, giving it control of the operating system (OS). This process is known as booting, or booting up, which is short for bootstrapping.
The BIOS memory for storing the BIOS firmware is generally a non-volatile chip, such as an EEPROM chip on the motherboard. Typically, a serial peripheral interface (SPI) bus is used for the EEPROM chip. In modern computer systems, contents stored in the BIOS chip can be rewritten without removing it from the motherboard, allowing the BIOS firmware to be upgraded in place. The rewriting process of the BIOS firmware is generally referred to as flashing the BIOS.
Generally, a service processor (SP) or a baseboard management controller (BMC) refers to a specialized microcontroller that manages the interface between system management software and platform hardware. The SP can be embedded on the motherboard of a computer, generally a server. For example, different types of sensors can be built into the computer system, and the SP reads these sensors to obtain parameters such as temperature, cooling fan speeds, power status, operating system (OS) status, etc. The SP monitors the sensors and can send alerts to a system administrator via the network if any of the parameters do not stay within preset limits, indicating a potential failure of the system. The administrator can also remotely communicate with the BMC to take some corrective action such as resetting or power cycling the system to get a hung OS running again. The SP also provides out-of-band (OOB) access to the BIOS.
In a host computer provided with a SP, the SP can be used for flashing the BIOS. Generally, the administrator may upload a BIOS firmware image to the host computer through the OOB access of the SP, and the SP may control the host computer to enter a special state to write the BIOS firmware image to the BIOS chip through the BIOS serial peripheral interface (SPI). However, not all computer systems have the hardware capability for the SP to access the SPI directly. There is a need for the SP to update the BIOS firmware image without the SPI access.
Therefore, an unaddressed need exists in the art to address the aforementioned deficiencies and inadequacies.